﻿/*
 ***************************************************************************
 * Microsoft Visual C# .NET
 * 名称：       Shpm.System.Validator
 * 类型：       服务端输入校验类
 * 功能说明：   对输入内容进行合法性校验
 * 作者：       章 昕
 * 创建日期：   2007/09/10
 * 修改日期     修改者      标记           修改内容     
 * 
 * ---
 ***************************************************************************
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections;
using System.Drawing.Design;
using System.Security.Permissions;
using Shpm.System.Web.Control;
using System.Resources;


namespace Shpm.System.Validator
{
  
    public class ComValidator 
    {
        /*
         ************************************************
         * 类变量定义
         ************************************************
        */
        /** 包含校验类的集合 */
        private ArrayList checkItems = new ArrayList();
        /** 出错代码 */
        private string errorCode = string.Empty;
        /** 出错消息 */
        private string errorMessage = string.Empty;

        /*
         ************************************************
         * 属性定义
         ************************************************
        */

        public ArrayList CheckItems
        {
            get
            {
                return checkItems;
            }
        }

        /** 出错代码 */
        public string ErrorCode
        {
            get
            {
                return errorCode;
            }
        }

        /** 出错消息 */
        public string ErrorMessage
        {
            get
            {
                return errorMessage;
            }
            set
            {
                errorMessage = value;
            }
        }

        public ComValidator()            
        {

        }
       
        /*
         *名称： DoValidator
         *功能： 对集合中包含的校验类进行校验，并返回校验结果。
         *参数： 无
         *返回： 校验成功,True 
         *       校验失败,False
         *说明： 
        */
        public bool DoValidator()
        {
            try
            {
                IEnumerator enm = this.checkItems.GetEnumerator();
                while (enm.MoveNext())
                {
                    IFChecker checker = (IFChecker)enm.Current;
                    if (checker.doCheck() == false)
                    {
                        this.errorMessage = checker.getMessage();
                        return false;
                    }
                }
            }
            catch (Exception e)
            {
                this.errorMessage = "SYSTEM ERROR!";
                //log.fatal(e.StackTrace);
                return false;
            }
            return true;
           
        }
      
    }
}
